package com.tianyang.yukuaifuzs.rxservice.interfaces;

import com.tianyang.yukuaifuzs.common.interfaces.UrlConstants;

import java.util.Map;

import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.Header;
import retrofit2.http.POST;
import retrofit2.http.QueryMap;
import retrofit2.http.Url;
import rx.Observable;

/**
 * Description：plate-trade接口
 * Created by xyj on 2024/3/18
 */
public interface PlateTradeService {

    /**
     * 商户延迟合并代付订单详情
     * @param param 请求参数
     */
    @POST(UrlConstants.merchantDelayTradeDetail)
    Observable<Object> merchantDelayTradeDetail(@Header("Authorization") String authorization, @Body Map<String, String> param);

    /**
     * 账户余额
     * @param param 请求参数
     */
    @GET(UrlConstants.getAgentWallet)
    Observable<Object> getAgentWallet(@Header("Authorization") String authorization, @QueryMap Map<String, String> param);

    /**
     * 收益类别汇总
     * @param param 请求参数
     */
    @GET(UrlConstants.getSumUserWallet)
    Observable<Object> getSumUserWallet(@Header("Authorization") String authorization, @QueryMap Map<String, String> param);

    /**
     * 收益明细
     */
    @GET
    Observable<Object> getUserWallet(@Url String url, @Header("Authorization") String authorization);

    /**
     * 提现记录
     * @param param 请求参数
     */
    @GET(UrlConstants.gettixianRecord)
    Observable<Object> gettixianRecord(@Header("Authorization") String authorization, @QueryMap Map<String, Object> param);

    /**
     * 服务商提现接口
     * @param param 请求参数
     */
    @POST(UrlConstants.getcantixian)
    Observable<Object> getcantixian(@Header("Authorization") String authorization, @Body Map<String, Object> param);

    /**
     * 提交提现请求
     * @param param 请求参数
     */
    @POST(UrlConstants.postixian)
    Observable<Object> postixian(@Header("Authorization") String authorization, @Body Map<String, Object> param);

    /**
     * 设置结算周期
     */
    @POST
    Observable<Object> updateMemberSettleCycle(@Url String url, @Header("Authorization") String authorization);
}
